Termination Proof Script

Consider the TRS R consisting of the rewrite rules
1:    0(#)  → #
2:    x + #  → x
3:    # + x  → x
4:    0(x) + 0(y)  → 0(x + y)
5:    0(x) + 1(y)  → 1(x + y)
6:    1(x) + 0(y)  → 1(x + y)
7:    1(x) + 1(y)  → 0((x + y) + 1(#))
8:    (x + y) + z  → x + (y + z)
9:    # * x  → #
10:    0(x) * y  → 0(x * y)
11:    1(x) * y  → 0(x * y) + y
12:    (x * y) * z  → x * (y * z)
13:    sum(nil)  → 0(#)
14:    sum(cons(x,l))  → x + sum(l)
15:    prod(nil)  → 1(#)
16:    prod(cons(x,l))  → x * prod(l)
There are 21 dependency pairs:
17:    0(x) +# 0(y)  → 0#(x + y)
18:    0(x) +# 0(y)  → x +# y
19:    0(x) +# 1(y)  → x +# y
20:    1(x) +# 0(y)  → x +# y
21:    1(x) +# 1(y)  → 0#((x + y) + 1(#))
22:    1(x) +# 1(y)  → (x + y) +# 1(#)
23:    1(x) +# 1(y)  → x +# y
24:    (x + y) +# z  → x +# (y + z)
25:    (x + y) +# z  → y +# z
26:    0(x) *# y  → 0#(x * y)
27:    0(x) *# y  → x *# y
28:    1(x) *# y  → 0(x * y) +# y
29:    1(x) *# y  → 0#(x * y)
30:    1(x) *# y  → x *# y
31:    (x * y) *# z  → x *# (y * z)
32:    (x * y) *# z  → y *# z
33:    SUM(nil)  → 0#(#)
34:    SUM(cons(x,l))  → x +# sum(l)
35:    SUM(cons(x,l))  → SUM(l)
36:    PROD(cons(x,l))  → x *# prod(l)
37:    PROD(cons(x,l))  → PROD(l)
The approximated dependency graph contains 4 SCCs: {18-20,22-25}, {27,30-32}, {37} and {35}.
Tyrolean Termination Tool  (0.08 seconds)   ---  May 3, 2006